package solved;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

/*
ID:		liluyan1
LANG:	JAVA
TASK:	kimbits
*/
public class kimbits {
	public static void main(String[] args) throws IOException {
		BufferedReader f = new BufferedReader(new FileReader("kimbits.in"));
		PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(
				"kimbits.out")));
		new kimbits().solve(f, out);
		out.close();
		System.exit(0);
	}
	
	private void solve(BufferedReader f, PrintWriter out) throws IOException {
		String[] t = f.readLine().split(" ");
		int N = Integer.parseInt(t[0]);
		int L = Integer.parseInt(t[1]);
		long I = Long.parseLong(t[2]);
		
		long[][] a = new long[N][L+1];
		for (int i=0; i<=L; i++) a[0][i] = 1;
		for (int i=1; i<N; i++) {
			for (int j=0; j<=L; j++) {
				a[i][j] += j>i-1? a[i-1][i-1] : a[i-1][j];
				a[i][j] += j>0? a[i-1][j-1] : 0;
			}
		}
		
		while (N > 0) {
			if (a[N-1][L] >= I) {
				out.print("0");
			}
			else {
				out.print("1");
				I -= a[N-1][L];
				L = Math.max(L-1, 0);
			}
			N--;
		}
		out.println();
	}
	
	public int read(BufferedReader f) throws IOException {
		return Integer.parseInt(f.readLine());
	}
	
	public int[] read(BufferedReader f, int N) throws IOException {
		String[] t = f.readLine().split(" ");
		int[] a = new int[N];
		for (int i=0; i<N; i++) {
			a[i] = Integer.parseInt(t[i]);
		}
		return a;
	}
}
